package wicresoft.orm.entity;

import java.util.ArrayList;
import java.util.List;

public class GxExpertGroupExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public GxExpertGroupExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("ID like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("ID not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andItemIdIsNull() {
            addCriterion("ITEM_ID is null");
            return (Criteria) this;
        }

        public Criteria andItemIdIsNotNull() {
            addCriterion("ITEM_ID is not null");
            return (Criteria) this;
        }

        public Criteria andItemIdEqualTo(String value) {
            addCriterion("ITEM_ID =", value, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdNotEqualTo(String value) {
            addCriterion("ITEM_ID <>", value, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdGreaterThan(String value) {
            addCriterion("ITEM_ID >", value, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdGreaterThanOrEqualTo(String value) {
            addCriterion("ITEM_ID >=", value, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdLessThan(String value) {
            addCriterion("ITEM_ID <", value, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdLessThanOrEqualTo(String value) {
            addCriterion("ITEM_ID <=", value, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdLike(String value) {
            addCriterion("ITEM_ID like", value, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdNotLike(String value) {
            addCriterion("ITEM_ID not like", value, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdIn(List<String> values) {
            addCriterion("ITEM_ID in", values, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdNotIn(List<String> values) {
            addCriterion("ITEM_ID not in", values, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdBetween(String value1, String value2) {
            addCriterion("ITEM_ID between", value1, value2, "itemId");
            return (Criteria) this;
        }

        public Criteria andItemIdNotBetween(String value1, String value2) {
            addCriterion("ITEM_ID not between", value1, value2, "itemId");
            return (Criteria) this;
        }

        public Criteria andPersonIdIsNull() {
            addCriterion("PERSON_ID is null");
            return (Criteria) this;
        }

        public Criteria andPersonIdIsNotNull() {
            addCriterion("PERSON_ID is not null");
            return (Criteria) this;
        }

        public Criteria andPersonIdEqualTo(String value) {
            addCriterion("PERSON_ID =", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdNotEqualTo(String value) {
            addCriterion("PERSON_ID <>", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdGreaterThan(String value) {
            addCriterion("PERSON_ID >", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdGreaterThanOrEqualTo(String value) {
            addCriterion("PERSON_ID >=", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdLessThan(String value) {
            addCriterion("PERSON_ID <", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdLessThanOrEqualTo(String value) {
            addCriterion("PERSON_ID <=", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdLike(String value) {
            addCriterion("PERSON_ID like", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdNotLike(String value) {
            addCriterion("PERSON_ID not like", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdIn(List<String> values) {
            addCriterion("PERSON_ID in", values, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdNotIn(List<String> values) {
            addCriterion("PERSON_ID not in", values, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdBetween(String value1, String value2) {
            addCriterion("PERSON_ID between", value1, value2, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdNotBetween(String value1, String value2) {
            addCriterion("PERSON_ID not between", value1, value2, "personId");
            return (Criteria) this;
        }

        public Criteria andTalentIdIsNull() {
            addCriterion("TALENT_ID is null");
            return (Criteria) this;
        }

        public Criteria andTalentIdIsNotNull() {
            addCriterion("TALENT_ID is not null");
            return (Criteria) this;
        }

        public Criteria andTalentIdEqualTo(String value) {
            addCriterion("TALENT_ID =", value, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdNotEqualTo(String value) {
            addCriterion("TALENT_ID <>", value, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdGreaterThan(String value) {
            addCriterion("TALENT_ID >", value, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdGreaterThanOrEqualTo(String value) {
            addCriterion("TALENT_ID >=", value, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdLessThan(String value) {
            addCriterion("TALENT_ID <", value, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdLessThanOrEqualTo(String value) {
            addCriterion("TALENT_ID <=", value, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdLike(String value) {
            addCriterion("TALENT_ID like", value, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdNotLike(String value) {
            addCriterion("TALENT_ID not like", value, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdIn(List<String> values) {
            addCriterion("TALENT_ID in", values, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdNotIn(List<String> values) {
            addCriterion("TALENT_ID not in", values, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdBetween(String value1, String value2) {
            addCriterion("TALENT_ID between", value1, value2, "talentId");
            return (Criteria) this;
        }

        public Criteria andTalentIdNotBetween(String value1, String value2) {
            addCriterion("TALENT_ID not between", value1, value2, "talentId");
            return (Criteria) this;
        }

        public Criteria andCertIdIsNull() {
            addCriterion("CERT_ID is null");
            return (Criteria) this;
        }

        public Criteria andCertIdIsNotNull() {
            addCriterion("CERT_ID is not null");
            return (Criteria) this;
        }

        public Criteria andCertIdEqualTo(String value) {
            addCriterion("CERT_ID =", value, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdNotEqualTo(String value) {
            addCriterion("CERT_ID <>", value, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdGreaterThan(String value) {
            addCriterion("CERT_ID >", value, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdGreaterThanOrEqualTo(String value) {
            addCriterion("CERT_ID >=", value, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdLessThan(String value) {
            addCriterion("CERT_ID <", value, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdLessThanOrEqualTo(String value) {
            addCriterion("CERT_ID <=", value, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdLike(String value) {
            addCriterion("CERT_ID like", value, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdNotLike(String value) {
            addCriterion("CERT_ID not like", value, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdIn(List<String> values) {
            addCriterion("CERT_ID in", values, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdNotIn(List<String> values) {
            addCriterion("CERT_ID not in", values, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdBetween(String value1, String value2) {
            addCriterion("CERT_ID between", value1, value2, "certId");
            return (Criteria) this;
        }

        public Criteria andCertIdNotBetween(String value1, String value2) {
            addCriterion("CERT_ID not between", value1, value2, "certId");
            return (Criteria) this;
        }

        public Criteria andPersonNameIsNull() {
            addCriterion("PERSON_NAME is null");
            return (Criteria) this;
        }

        public Criteria andPersonNameIsNotNull() {
            addCriterion("PERSON_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andPersonNameEqualTo(String value) {
            addCriterion("PERSON_NAME =", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameNotEqualTo(String value) {
            addCriterion("PERSON_NAME <>", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameGreaterThan(String value) {
            addCriterion("PERSON_NAME >", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameGreaterThanOrEqualTo(String value) {
            addCriterion("PERSON_NAME >=", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameLessThan(String value) {
            addCriterion("PERSON_NAME <", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameLessThanOrEqualTo(String value) {
            addCriterion("PERSON_NAME <=", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameLike(String value) {
            addCriterion("PERSON_NAME like", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameNotLike(String value) {
            addCriterion("PERSON_NAME not like", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameIn(List<String> values) {
            addCriterion("PERSON_NAME in", values, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameNotIn(List<String> values) {
            addCriterion("PERSON_NAME not in", values, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameBetween(String value1, String value2) {
            addCriterion("PERSON_NAME between", value1, value2, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameNotBetween(String value1, String value2) {
            addCriterion("PERSON_NAME not between", value1, value2, "personName");
            return (Criteria) this;
        }

        public Criteria andDutyIsNull() {
            addCriterion("DUTY is null");
            return (Criteria) this;
        }

        public Criteria andDutyIsNotNull() {
            addCriterion("DUTY is not null");
            return (Criteria) this;
        }

        public Criteria andDutyEqualTo(String value) {
            addCriterion("DUTY =", value, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyNotEqualTo(String value) {
            addCriterion("DUTY <>", value, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyGreaterThan(String value) {
            addCriterion("DUTY >", value, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyGreaterThanOrEqualTo(String value) {
            addCriterion("DUTY >=", value, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyLessThan(String value) {
            addCriterion("DUTY <", value, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyLessThanOrEqualTo(String value) {
            addCriterion("DUTY <=", value, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyLike(String value) {
            addCriterion("DUTY like", value, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyNotLike(String value) {
            addCriterion("DUTY not like", value, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyIn(List<String> values) {
            addCriterion("DUTY in", values, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyNotIn(List<String> values) {
            addCriterion("DUTY not in", values, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyBetween(String value1, String value2) {
            addCriterion("DUTY between", value1, value2, "duty");
            return (Criteria) this;
        }

        public Criteria andDutyNotBetween(String value1, String value2) {
            addCriterion("DUTY not between", value1, value2, "duty");
            return (Criteria) this;
        }

        public Criteria andTelIsNull() {
            addCriterion("TEL is null");
            return (Criteria) this;
        }

        public Criteria andTelIsNotNull() {
            addCriterion("TEL is not null");
            return (Criteria) this;
        }

        public Criteria andTelEqualTo(String value) {
            addCriterion("TEL =", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotEqualTo(String value) {
            addCriterion("TEL <>", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelGreaterThan(String value) {
            addCriterion("TEL >", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelGreaterThanOrEqualTo(String value) {
            addCriterion("TEL >=", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelLessThan(String value) {
            addCriterion("TEL <", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelLessThanOrEqualTo(String value) {
            addCriterion("TEL <=", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelLike(String value) {
            addCriterion("TEL like", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotLike(String value) {
            addCriterion("TEL not like", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelIn(List<String> values) {
            addCriterion("TEL in", values, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotIn(List<String> values) {
            addCriterion("TEL not in", values, "tel");
            return (Criteria) this;
        }

        public Criteria andTelBetween(String value1, String value2) {
            addCriterion("TEL between", value1, value2, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotBetween(String value1, String value2) {
            addCriterion("TEL not between", value1, value2, "tel");
            return (Criteria) this;
        }

        public Criteria andCheckTaskIsNull() {
            addCriterion("CHECK_TASK is null");
            return (Criteria) this;
        }

        public Criteria andCheckTaskIsNotNull() {
            addCriterion("CHECK_TASK is not null");
            return (Criteria) this;
        }

        public Criteria andCheckTaskEqualTo(String value) {
            addCriterion("CHECK_TASK =", value, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskNotEqualTo(String value) {
            addCriterion("CHECK_TASK <>", value, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskGreaterThan(String value) {
            addCriterion("CHECK_TASK >", value, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskGreaterThanOrEqualTo(String value) {
            addCriterion("CHECK_TASK >=", value, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskLessThan(String value) {
            addCriterion("CHECK_TASK <", value, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskLessThanOrEqualTo(String value) {
            addCriterion("CHECK_TASK <=", value, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskLike(String value) {
            addCriterion("CHECK_TASK like", value, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskNotLike(String value) {
            addCriterion("CHECK_TASK not like", value, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskIn(List<String> values) {
            addCriterion("CHECK_TASK in", values, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskNotIn(List<String> values) {
            addCriterion("CHECK_TASK not in", values, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskBetween(String value1, String value2) {
            addCriterion("CHECK_TASK between", value1, value2, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCheckTaskNotBetween(String value1, String value2) {
            addCriterion("CHECK_TASK not between", value1, value2, "checkTask");
            return (Criteria) this;
        }

        public Criteria andCertCodeIsNull() {
            addCriterion("CERT_CODE is null");
            return (Criteria) this;
        }

        public Criteria andCertCodeIsNotNull() {
            addCriterion("CERT_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andCertCodeEqualTo(String value) {
            addCriterion("CERT_CODE =", value, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeNotEqualTo(String value) {
            addCriterion("CERT_CODE <>", value, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeGreaterThan(String value) {
            addCriterion("CERT_CODE >", value, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeGreaterThanOrEqualTo(String value) {
            addCriterion("CERT_CODE >=", value, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeLessThan(String value) {
            addCriterion("CERT_CODE <", value, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeLessThanOrEqualTo(String value) {
            addCriterion("CERT_CODE <=", value, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeLike(String value) {
            addCriterion("CERT_CODE like", value, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeNotLike(String value) {
            addCriterion("CERT_CODE not like", value, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeIn(List<String> values) {
            addCriterion("CERT_CODE in", values, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeNotIn(List<String> values) {
            addCriterion("CERT_CODE not in", values, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeBetween(String value1, String value2) {
            addCriterion("CERT_CODE between", value1, value2, "certCode");
            return (Criteria) this;
        }

        public Criteria andCertCodeNotBetween(String value1, String value2) {
            addCriterion("CERT_CODE not between", value1, value2, "certCode");
            return (Criteria) this;
        }

        public Criteria andCheckContentIsNull() {
            addCriterion("CHECK_CONTENT is null");
            return (Criteria) this;
        }

        public Criteria andCheckContentIsNotNull() {
            addCriterion("CHECK_CONTENT is not null");
            return (Criteria) this;
        }

        public Criteria andCheckContentEqualTo(String value) {
            addCriterion("CHECK_CONTENT =", value, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentNotEqualTo(String value) {
            addCriterion("CHECK_CONTENT <>", value, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentGreaterThan(String value) {
            addCriterion("CHECK_CONTENT >", value, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentGreaterThanOrEqualTo(String value) {
            addCriterion("CHECK_CONTENT >=", value, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentLessThan(String value) {
            addCriterion("CHECK_CONTENT <", value, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentLessThanOrEqualTo(String value) {
            addCriterion("CHECK_CONTENT <=", value, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentLike(String value) {
            addCriterion("CHECK_CONTENT like", value, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentNotLike(String value) {
            addCriterion("CHECK_CONTENT not like", value, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentIn(List<String> values) {
            addCriterion("CHECK_CONTENT in", values, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentNotIn(List<String> values) {
            addCriterion("CHECK_CONTENT not in", values, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentBetween(String value1, String value2) {
            addCriterion("CHECK_CONTENT between", value1, value2, "checkContent");
            return (Criteria) this;
        }

        public Criteria andCheckContentNotBetween(String value1, String value2) {
            addCriterion("CHECK_CONTENT not between", value1, value2, "checkContent");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberIsNull() {
            addCriterion("IDENTITY_NUMBER is null");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberIsNotNull() {
            addCriterion("IDENTITY_NUMBER is not null");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberEqualTo(String value) {
            addCriterion("IDENTITY_NUMBER =", value, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberNotEqualTo(String value) {
            addCriterion("IDENTITY_NUMBER <>", value, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberGreaterThan(String value) {
            addCriterion("IDENTITY_NUMBER >", value, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberGreaterThanOrEqualTo(String value) {
            addCriterion("IDENTITY_NUMBER >=", value, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberLessThan(String value) {
            addCriterion("IDENTITY_NUMBER <", value, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberLessThanOrEqualTo(String value) {
            addCriterion("IDENTITY_NUMBER <=", value, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberLike(String value) {
            addCriterion("IDENTITY_NUMBER like", value, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberNotLike(String value) {
            addCriterion("IDENTITY_NUMBER not like", value, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberIn(List<String> values) {
            addCriterion("IDENTITY_NUMBER in", values, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberNotIn(List<String> values) {
            addCriterion("IDENTITY_NUMBER not in", values, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberBetween(String value1, String value2) {
            addCriterion("IDENTITY_NUMBER between", value1, value2, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andIdentityNumberNotBetween(String value1, String value2) {
            addCriterion("IDENTITY_NUMBER not between", value1, value2, "identityNumber");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdIsNull() {
            addCriterion("WORK_UNIT_ID is null");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdIsNotNull() {
            addCriterion("WORK_UNIT_ID is not null");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdEqualTo(String value) {
            addCriterion("WORK_UNIT_ID =", value, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdNotEqualTo(String value) {
            addCriterion("WORK_UNIT_ID <>", value, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdGreaterThan(String value) {
            addCriterion("WORK_UNIT_ID >", value, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdGreaterThanOrEqualTo(String value) {
            addCriterion("WORK_UNIT_ID >=", value, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdLessThan(String value) {
            addCriterion("WORK_UNIT_ID <", value, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdLessThanOrEqualTo(String value) {
            addCriterion("WORK_UNIT_ID <=", value, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdLike(String value) {
            addCriterion("WORK_UNIT_ID like", value, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdNotLike(String value) {
            addCriterion("WORK_UNIT_ID not like", value, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdIn(List<String> values) {
            addCriterion("WORK_UNIT_ID in", values, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdNotIn(List<String> values) {
            addCriterion("WORK_UNIT_ID not in", values, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdBetween(String value1, String value2) {
            addCriterion("WORK_UNIT_ID between", value1, value2, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIdNotBetween(String value1, String value2) {
            addCriterion("WORK_UNIT_ID not between", value1, value2, "workUnitId");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameIsNull() {
            addCriterion("WORK_UNIT_NAME is null");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameIsNotNull() {
            addCriterion("WORK_UNIT_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameEqualTo(String value) {
            addCriterion("WORK_UNIT_NAME =", value, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameNotEqualTo(String value) {
            addCriterion("WORK_UNIT_NAME <>", value, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameGreaterThan(String value) {
            addCriterion("WORK_UNIT_NAME >", value, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameGreaterThanOrEqualTo(String value) {
            addCriterion("WORK_UNIT_NAME >=", value, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameLessThan(String value) {
            addCriterion("WORK_UNIT_NAME <", value, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameLessThanOrEqualTo(String value) {
            addCriterion("WORK_UNIT_NAME <=", value, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameLike(String value) {
            addCriterion("WORK_UNIT_NAME like", value, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameNotLike(String value) {
            addCriterion("WORK_UNIT_NAME not like", value, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameIn(List<String> values) {
            addCriterion("WORK_UNIT_NAME in", values, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameNotIn(List<String> values) {
            addCriterion("WORK_UNIT_NAME not in", values, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameBetween(String value1, String value2) {
            addCriterion("WORK_UNIT_NAME between", value1, value2, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNameNotBetween(String value1, String value2) {
            addCriterion("WORK_UNIT_NAME not between", value1, value2, "workUnitName");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryIsNull() {
            addCriterion("EXPERT_CATEGORY is null");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryIsNotNull() {
            addCriterion("EXPERT_CATEGORY is not null");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryEqualTo(String value) {
            addCriterion("EXPERT_CATEGORY =", value, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryNotEqualTo(String value) {
            addCriterion("EXPERT_CATEGORY <>", value, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryGreaterThan(String value) {
            addCriterion("EXPERT_CATEGORY >", value, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryGreaterThanOrEqualTo(String value) {
            addCriterion("EXPERT_CATEGORY >=", value, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryLessThan(String value) {
            addCriterion("EXPERT_CATEGORY <", value, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryLessThanOrEqualTo(String value) {
            addCriterion("EXPERT_CATEGORY <=", value, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryLike(String value) {
            addCriterion("EXPERT_CATEGORY like", value, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryNotLike(String value) {
            addCriterion("EXPERT_CATEGORY not like", value, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryIn(List<String> values) {
            addCriterion("EXPERT_CATEGORY in", values, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryNotIn(List<String> values) {
            addCriterion("EXPERT_CATEGORY not in", values, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryBetween(String value1, String value2) {
            addCriterion("EXPERT_CATEGORY between", value1, value2, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andExpertCategoryNotBetween(String value1, String value2) {
            addCriterion("EXPERT_CATEGORY not between", value1, value2, "expertCategory");
            return (Criteria) this;
        }

        public Criteria andDutyNoIsNull() {
            addCriterion("DUTY_NO is null");
            return (Criteria) this;
        }

        public Criteria andDutyNoIsNotNull() {
            addCriterion("DUTY_NO is not null");
            return (Criteria) this;
        }

        public Criteria andDutyNoEqualTo(String value) {
            addCriterion("DUTY_NO =", value, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoNotEqualTo(String value) {
            addCriterion("DUTY_NO <>", value, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoGreaterThan(String value) {
            addCriterion("DUTY_NO >", value, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoGreaterThanOrEqualTo(String value) {
            addCriterion("DUTY_NO >=", value, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoLessThan(String value) {
            addCriterion("DUTY_NO <", value, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoLessThanOrEqualTo(String value) {
            addCriterion("DUTY_NO <=", value, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoLike(String value) {
            addCriterion("DUTY_NO like", value, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoNotLike(String value) {
            addCriterion("DUTY_NO not like", value, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoIn(List<String> values) {
            addCriterion("DUTY_NO in", values, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoNotIn(List<String> values) {
            addCriterion("DUTY_NO not in", values, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoBetween(String value1, String value2) {
            addCriterion("DUTY_NO between", value1, value2, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andDutyNoNotBetween(String value1, String value2) {
            addCriterion("DUTY_NO not between", value1, value2, "dutyNo");
            return (Criteria) this;
        }

        public Criteria andSerialNumIsNull() {
            addCriterion("SERIAL_NUM is null");
            return (Criteria) this;
        }

        public Criteria andSerialNumIsNotNull() {
            addCriterion("SERIAL_NUM is not null");
            return (Criteria) this;
        }

        public Criteria andSerialNumEqualTo(String value) {
            addCriterion("SERIAL_NUM =", value, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumNotEqualTo(String value) {
            addCriterion("SERIAL_NUM <>", value, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumGreaterThan(String value) {
            addCriterion("SERIAL_NUM >", value, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumGreaterThanOrEqualTo(String value) {
            addCriterion("SERIAL_NUM >=", value, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumLessThan(String value) {
            addCriterion("SERIAL_NUM <", value, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumLessThanOrEqualTo(String value) {
            addCriterion("SERIAL_NUM <=", value, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumLike(String value) {
            addCriterion("SERIAL_NUM like", value, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumNotLike(String value) {
            addCriterion("SERIAL_NUM not like", value, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumIn(List<String> values) {
            addCriterion("SERIAL_NUM in", values, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumNotIn(List<String> values) {
            addCriterion("SERIAL_NUM not in", values, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumBetween(String value1, String value2) {
            addCriterion("SERIAL_NUM between", value1, value2, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSerialNumNotBetween(String value1, String value2) {
            addCriterion("SERIAL_NUM not between", value1, value2, "serialNum");
            return (Criteria) this;
        }

        public Criteria andSpecialityIsNull() {
            addCriterion("SPECIALITY is null");
            return (Criteria) this;
        }

        public Criteria andSpecialityIsNotNull() {
            addCriterion("SPECIALITY is not null");
            return (Criteria) this;
        }

        public Criteria andSpecialityEqualTo(String value) {
            addCriterion("SPECIALITY =", value, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityNotEqualTo(String value) {
            addCriterion("SPECIALITY <>", value, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityGreaterThan(String value) {
            addCriterion("SPECIALITY >", value, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityGreaterThanOrEqualTo(String value) {
            addCriterion("SPECIALITY >=", value, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityLessThan(String value) {
            addCriterion("SPECIALITY <", value, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityLessThanOrEqualTo(String value) {
            addCriterion("SPECIALITY <=", value, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityLike(String value) {
            addCriterion("SPECIALITY like", value, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityNotLike(String value) {
            addCriterion("SPECIALITY not like", value, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityIn(List<String> values) {
            addCriterion("SPECIALITY in", values, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityNotIn(List<String> values) {
            addCriterion("SPECIALITY not in", values, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityBetween(String value1, String value2) {
            addCriterion("SPECIALITY between", value1, value2, "speciality");
            return (Criteria) this;
        }

        public Criteria andSpecialityNotBetween(String value1, String value2) {
            addCriterion("SPECIALITY not between", value1, value2, "speciality");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("TITLE is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("TITLE is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("TITLE =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("TITLE <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("TITLE >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("TITLE >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("TITLE <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("TITLE <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("TITLE like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("TITLE not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("TITLE in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("TITLE not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("TITLE between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("TITLE not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("REMARK is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("REMARK is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("REMARK =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("REMARK <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("REMARK >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("REMARK >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("REMARK <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("REMARK <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("REMARK like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("REMARK not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("REMARK in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("REMARK not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("REMARK between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("REMARK not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateIsNull() {
            addCriterion("LICENCE_AVAILABLE_DATE is null");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateIsNotNull() {
            addCriterion("LICENCE_AVAILABLE_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateEqualTo(String value) {
            addCriterion("LICENCE_AVAILABLE_DATE =", value, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateNotEqualTo(String value) {
            addCriterion("LICENCE_AVAILABLE_DATE <>", value, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateGreaterThan(String value) {
            addCriterion("LICENCE_AVAILABLE_DATE >", value, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateGreaterThanOrEqualTo(String value) {
            addCriterion("LICENCE_AVAILABLE_DATE >=", value, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateLessThan(String value) {
            addCriterion("LICENCE_AVAILABLE_DATE <", value, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateLessThanOrEqualTo(String value) {
            addCriterion("LICENCE_AVAILABLE_DATE <=", value, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateLike(String value) {
            addCriterion("LICENCE_AVAILABLE_DATE like", value, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateNotLike(String value) {
            addCriterion("LICENCE_AVAILABLE_DATE not like", value, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateIn(List<String> values) {
            addCriterion("LICENCE_AVAILABLE_DATE in", values, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateNotIn(List<String> values) {
            addCriterion("LICENCE_AVAILABLE_DATE not in", values, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateBetween(String value1, String value2) {
            addCriterion("LICENCE_AVAILABLE_DATE between", value1, value2, "licenceAvailableDate");
            return (Criteria) this;
        }

        public Criteria andLicenceAvailableDateNotBetween(String value1, String value2) {
            addCriterion("LICENCE_AVAILABLE_DATE not between", value1, value2, "licenceAvailableDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}